home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 242 / Issue 242 - April 2008 - DPCS0408DVD.ISO / Software Money Savers / VirtualDub / Source / VirtualDub-1.7.7-src.7z / src / Ami / h / lexer.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-12-05  |  2.0 KB  |  127 lines

  1. #ifndef f_VD2_AMI_LEXER_H
  2. #define f_VD2_AMI_LEXER_H
  3.  
  4. #include <string>
  5.  
  6. enum {
  7.     kTokenEOF            = -1,
  8.     kTokenNull            = 0,
  9.     kTokenInteger        = 0x10000,
  10.     kTokenString,
  11.     kTokenIdentifier,
  12.  
  13.     kTokenPlusPlus,
  14.     kTokenMinusMinus,
  15.  
  16.     kTokenEQ,
  17.     kTokenNE,
  18.     kTokenLE,
  19.     kTokenGE,
  20.     kTokenLogicalAnd,
  21.     kTokenLogicalOr,
  22.  
  23.     kTokenInclude,
  24.     kTokenEnum,
  25.     kTokenLet,
  26.     kTokenDeclare,
  27.     kTokenUsing,
  28.     kTokenNow,
  29.  
  30.     kTokenLabel,
  31.     kTokenEdit,
  32.     kTokenEditInt,
  33.     kTokenButton,
  34.     kTokenCheckBox,
  35.     kTokenListBox,
  36.     kTokenComboBox,
  37.     kTokenListView,
  38.     kTokenTrackbar,
  39.     kTokenFileControl,
  40.     kTokenSet,
  41.     kTokenPageSet,
  42.     kTokenGrid,
  43.     kTokenOption,
  44.     kTokenGroup,
  45.     kTokenSplitter,
  46.     kTokenTextEdit,
  47.     kTokenTextArea,
  48.     kTokenTrackBar,
  49.     kTokenHotkey,
  50.     kTokenCustomWindow,
  51.  
  52.     kTokenListItem,
  53.     kTokenPage,
  54.     kTokenColumn,
  55.     kTokenRow,
  56.     kTokenNextRow,
  57.  
  58.     kTokenStringSet,
  59.     kTokenMessage,
  60.     kTokenOverride,
  61.     kTokenDialog,
  62.     kTokenTemplate,
  63.  
  64.     // properties
  65.     kTokenMarginL,
  66.     kTokenMarginT,
  67.     kTokenMarginR,
  68.     kTokenMarginB,
  69.     kTokenPadL,
  70.     kTokenPadT,
  71.     kTokenPadR,
  72.     kTokenPadB,
  73.     kTokenMinW,
  74.     kTokenMinH,
  75.     kTokenMaxW,
  76.     kTokenMaxH,
  77.     kTokenAlign,
  78.     kTokenVAlign,
  79.     kTokenSpacing,
  80.     kTokenAspect,
  81.     kTokenAffinity,
  82.     kTokenRowSpan,
  83.     kTokenColSpan,
  84.  
  85.     kTokenVertical,
  86.     kTokenRaised,
  87.     kTokenSunken,
  88.     kTokenChild,
  89.     kTokenMultiline,
  90.     kTokenReadonly,
  91.     kTokenCheckable,
  92.     kTokenNoHeader,
  93.     kTokenDefault,
  94.  
  95.     kTokenEnable,
  96.     kTokenValue,
  97.  
  98.     kTokenLeft,
  99.     kTokenCenter,
  100.     kTokenRight,
  101.     kTokenTop,
  102.     kTokenBottom,
  103.     kTokenFill,
  104.     kTokenExpand,
  105.     kTokenLink,
  106.     kTokenAddColumn
  107. };
  108.  
  109.  
  110. const std::wstring& lexident();
  111. int lexint();
  112. const char *lexfilename();
  113. int lexlineno();
  114. void lexopen(const char *fn);
  115. bool lexisunicode();
  116. void lextestunicode();
  117. void lexinclude(const std::string& filename);
  118. wint_t lexrawgetc();
  119. void lexungetc(wint_t c);
  120. wint_t lexgetc();
  121. wint_t lexgetescape();
  122. void lexpush(int token);
  123. int lex();
  124. std::string lextokenname(int token, bool expand = true);
  125.  
  126. #endif
  127.